草庐IT

python DEAP遗传算法多核速度

全部标签

c# - 为什么文件扩展名会影响写入速度? (C#, 流式编写器)

我目前正在测试将文本数据记录到文件中的不同方法的性能。似乎当我多次打开/写入/关闭时,使用的扩展会影响性能。(.txt和.log快约7倍)使用的代码:privatestaticvoidTestWriteSpeed(FileInfofile){Stopwatchwatch=newStopwatch();watch.Start();for(inti=0;i结果:abc.txt00:00:08.3826847为什么会这样? 最佳答案 看起来另一个应用程序或进程正在读取或监视正在写入的文件并出于性能原因忽略.txt或.log文件。为什么?因

c# - 为什么我的应用程序随着时间的推移变得响应速度变慢?

我正在调试一个C#应用程序,它在几天后变得几乎没有响应。应用程序每秒计算一次内存/CPU使用率,并将其显示在主UI的底部。无响应的原因是获取PerformanceCounter(“WorkingSet-Private”)的RawValue需要时间。几天后,获取RawValue几乎需要一秒钟,卡住了主UI线程。如果我重新启动我的计算机,几天内一切都会再次变快,直到它慢慢变得不那么敏感。如果我在没有PerformanceCounter代码(它是开源的)的情况下重新编译这个应用程序,它会立即正常运行。要排除它是应用程序的可能性,这里有一些示例代码执行完全相同的操作:staticvoidMai

c# - 使用具有模糊容忍算法的笔划作为加密 key

如何使用模糊容错来加密/解密?我希望能够使用InkCanvas上的Stroke作为我加密的key,但是当再次解密时,用户不必绘制完全相同的符号,只是相似。这可以在.NETC#中完成吗?---更新(9月9日)---我理想中想要的是一种加密算法,它可以接受基于某些基本key和定义允许差异的函数的特定key范围内的任何key..我在本地进行所有加密/解密,因此我不需要安全地通过线路发送任何内容。而且我不想存储用于加密的key,所以我没有任何可比较的东西。我可以想出一些方法来为每个相似的笔画生成相同的键,但如果想要接受任何类型的符号(不仅是字母),这并不容易。另一种选择是加密key是否可以通过

c# - 通过代码从图像中裁剪空边框的简单算法?

目前我正在C#/.NET中寻找一种相当快速且相当准确的算法来在代码中执行这些步骤:将图像加载到内存中。从位置(0,0)的颜色开始,找到未被占用的空间。剪掉这个不必要的空间。我已经说明了我想要实现的目标:我能想到的是获取(0,0)处像素的颜色,然后执行一些unsafe逐行/逐列遍历所有像素,直到我用另一种颜色遇到一个像素,然后切掉边框。我只是担心这真的很慢。所以我的问题是:您是否知道任何快速算法(最好没有任何第3方库)从内存图像/位图中删除“空”边框?旁注:算法应该“合理准确”,而不是100%准确。一些容差,例如裁剪过多或过少的一行都可以。补充1:我刚刚以最简单的方式实现了我的蛮力算法。

c# - 比较两个列表并找到这两个列表之间的增量的最有效模式/算法是什么?

我们有两个列表,比如说学生和他们的分数。我想比较这两个列表并找到新列表和旧列表之间的增量,然后找到侵入性最小的方式将任何更改插入或更新到新列表中。解决这个问题的最佳算法是什么?希望专注于对新列表和性能进行最少的更改。示例代码:ListexistingList=newList();ListnewList=newList();publicTopLists(){InitTwoLists();}privatevoidInitTwoLists(){existingList.Add(newListItem{Name="Shane",Score=100});existingList.Add(newL

c# - 为什么我的字节在加密算法的这个 C# 端口的第四轮不同?

我正在尝试将C++代码移植到C#并且在大多数情况下它都可以正常工作,但仅适用于循环的前3轮。在第四轮,输入block的字节开始不同,我不明白为什么。如果我们假设C++版本是正确的实现,为什么C#代码在第四轮给出不同的结果。下面是我的结果和代码(C++/CLR和C#的控制台应用程序)我认为输入block在传递给AES之前在每一轮中创建的方式有所不同(在C++中,有一种方法可以转换为基数256,to_base_256和from_base_256)但在C#中,我将基本256字节数组直接转换为BigInteger,然后再转换回字节数组。我只是不知道为什么每个人都会在前3轮中产生相同的输入blo

c# - 在字符串中查找关键字和关键短语的算法

我需要有关如何编写算法以在字符串中查找关键字或关键短语的建议或指导。字符串包含:以英语(GB)编写的技术信息单词之间大多用空格隔开关键字不包含空格,但可以包含连字符、撇号、冒号等。关键词可以包含空格、逗号或其他标点符号如果两个或多个关键字一起出现,那么它很可能是一个关键短语,例如“变频驱动”文本还包含HTML,但如有必要,可以事先将其删除非关键字可以是“and”、“the”、“we”、“see”、“look”等词。关键字不区分大小写,例如“逆变器”和“逆变器”是同一个关键字算法有如下要求:在批处理场景中操作,例如每天跑一次或两次处理长度从大约200到7000个字符不等的字符串在不到1小

c# - 锦标赛分组算法(NCAA 等)

我正在尝试在我的程序中实现一个括号(使用C#/.NETMVC),但我一直在尝试找出一些算法。例如,我有一个这样的括号,其中包含8个条目(A、B、C、D、E、F、G、H)我想弄清楚是否有一种算法方法可以根据条目数,找出条目数每轮比赛根据条目数,对于具体游戏#,是什么下一个对应的游戏#圆?例如,在这种情况下,对于8个条目,示例是:第一轮有4场比赛。第二轮,2场比赛。第3轮,1场比赛第1轮的第2场比赛对应第2轮的第5场比赛。我也考虑过将这些信息存储在一个表中,但它似乎有点过分了,因为它永远不会改变,但无论如何它就在这里:任何帮助将不胜感激!干杯,院长 最佳答案

c# - 嵌套的 Parallel.For() 循环速度和性能

我有一个嵌套的for循环。我用Parallel.For()替换了第一个For,计算速度提高了。我的问题是关于用Parallel.For()替换第二个for(内部)。会提高速度吗?或者没有区别?还是会变慢?编辑:由于内核不是无限的(通常有2到8个内核),因此内部循环是并行运行的。因此,如果我用Parallel.For()更改内部for,它会再次并行运行。但我不确定它如何改变性能和速度。 最佳答案 来自“太细粒度,太粗粒度”小节,“反模式”部分在"Patternsofparallelprogramming"通过.NETparallelc

c# - 从大小为 n 的列表中查找哪些数字与另一个数字相加的算法

我有一个十进制数(我们称之为目标)和一个由其他十进制数组成的数组(我们称之为数组元素),我需要找到所有组合来自元素的总和为目标的数字。我更喜欢C#(.Net2.0)中的解决方案,但不管怎样,最好的算法都可能获胜。您的方法签名可能类似于:publicdecimal[][]Solve(decimalgoal,decimal[]elements) 最佳答案 有趣的答案。感谢您对维基百科的指点-虽然很有趣-他们实际上并没有解决我正在寻找完全匹配的问题-更多的是会计/账簿平衡问题,而不是传统的装箱/背包问题。我一直很感兴趣地关注堆栈溢出的发展